.f_progress {
  width: 100%;
  height: 3px;
  background: var(--f-bg-color);
  position: relative;
  cursor: pointer;
  &_loading::before {
    content: ' ';
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: rgba(black,.4);
    opacity: 0;
    animation: f_progress_loading 2s ease-out infinite;
  }
  //子元素样式
  &_inner {
    width: 0%;
    height: 100%;
    border-radius: 3px;
    background: #2d8cf0;
    transition: all 0.4s;
    position: absolute;
  }
  &_thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #2d8cf0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    &_circle {
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--f-bg-color);
    }
  }
}

.f_progress_vertical {
  width: 3px;
  height: 100%;
  display: inline-block;
  &_loading::before {
    content: ' ';
    width: 100%;
    position: absolute;
    bottom: 0;
    background: rgba(black,.4);
    opacity: 0;
    animation: f_progress_vertical_loading 2s ease-out infinite;
  }
  &_inner {
    width: 100%;
    height: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
  }
  &_thumb {
    top: 0;
    left: initial;
    right: initial;
    bottom: initial;
  }
}

@keyframes f_progress_loading {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 0.4;
    width: 100%;
    border-radius: 3px;
  }
}

@keyframes f_progress_vertical_loading {
  0% {
    opacity: 0;
    height: 0%;
  }
  100% {
    opacity: 0.4;
    height: 100%;
  }
}
